<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::gpu::kinfuLS::KinfuTracker类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pri-types">Private 类型</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::gpu::kinfuLS::KinfuTracker类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html" title="KinfuTracker class encapsulates implementation of Microsoft Kinect Fusion algorithm">KinfuTracker</a> class encapsulates implementation of Microsoft Kinect Fusion algorithm  
 <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="large__scale_2include_2pcl_2gpu_2kinfu__large__scale_2kinfu_8h_source.html">kinfu.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a69016963cfbf55564490bd1831baee11"><td class="memItemLeft" align="right" valign="top"><a id="a69016963cfbf55564490bd1831baee11"></a>
typedef <a class="el" href="structpcl_1_1gpu_1_1kinfu_l_s_1_1_pixel_r_g_b.html">pcl::gpu::kinfuLS::PixelRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a69016963cfbf55564490bd1831baee11">PixelRGB</a></td></tr>
<tr class="memdesc:a69016963cfbf55564490bd1831baee11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel type for rendered image. <br /></td></tr>
<tr class="separator:a69016963cfbf55564490bd1831baee11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6ea3b53490518fee8f819bc88d7019"><td class="memItemLeft" align="right" valign="top"><a id="a4f6ea3b53490518fee8f819bc88d7019"></a>
typedef <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a69016963cfbf55564490bd1831baee11">PixelRGB</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>View</b></td></tr>
<tr class="separator:a4f6ea3b53490518fee8f819bc88d7019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e99a66768a12d0d5fb0017d38c9da47"><td class="memItemLeft" align="right" valign="top"><a id="a8e99a66768a12d0d5fb0017d38c9da47"></a>
typedef <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; unsigned short &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>DepthMap</b></td></tr>
<tr class="separator:a8e99a66768a12d0d5fb0017d38c9da47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a883dcbb11f988ec94136dae2090cdda1"><td class="memItemLeft" align="right" valign="top"><a id="a883dcbb11f988ec94136dae2090cdda1"></a>
typedef <a class="el" href="structpcl_1_1_point_x_y_z.html">pcl::PointXYZ</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PointType</b></td></tr>
<tr class="separator:a883dcbb11f988ec94136dae2090cdda1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e5aab6c9fb91d4f3bf0718d733bc7d"><td class="memItemLeft" align="right" valign="top"><a id="ab5e5aab6c9fb91d4f3bf0718d733bc7d"></a>
typedef <a class="el" href="structpcl_1_1_normal.html">pcl::Normal</a>&#160;</td><td class="memItemRight" valign="bottom"><b>NormalType</b></td></tr>
<tr class="separator:ab5e5aab6c9fb91d4f3bf0718d733bc7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:adafd29c4148b39b5595f15eece49e0dc"><td class="memItemLeft" align="right" valign="top"><a id="adafd29c4148b39b5595f15eece49e0dc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>performLastScan</b> ()</td></tr>
<tr class="separator:adafd29c4148b39b5595f15eece49e0dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5207766f074e9096e7f57dae6dc92bff"><td class="memItemLeft" align="right" valign="top"><a id="a5207766f074e9096e7f57dae6dc92bff"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isFinished</b> ()</td></tr>
<tr class="separator:a5207766f074e9096e7f57dae6dc92bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6020bce0b1e64d63b5685e5c3db152c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab6020bce0b1e64d63b5685e5c3db152c">KinfuTracker</a> (const Eigen::Vector3f &amp;volumeSize, const float shiftingDistance, int <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae90e607595afa514d8f551b9c7f2b5c1">rows</a>=480, int <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ad1d72eefdfce4717fcc3423dc3c74600">cols</a>=640)</td></tr>
<tr class="memdesc:ab6020bce0b1e64d63b5685e5c3db152c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab6020bce0b1e64d63b5685e5c3db152c">更多...</a><br /></td></tr>
<tr class="separator:ab6020bce0b1e64d63b5685e5c3db152c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cef44856b29bdf5eb8aadf090ef8111"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a0cef44856b29bdf5eb8aadf090ef8111">setDepthIntrinsics</a> (float fx, float fy, float cx=-1, float cy=-1)</td></tr>
<tr class="memdesc:a0cef44856b29bdf5eb8aadf090ef8111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets Depth camera intrinsics  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a0cef44856b29bdf5eb8aadf090ef8111">更多...</a><br /></td></tr>
<tr class="separator:a0cef44856b29bdf5eb8aadf090ef8111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcfea69b8ce0bae805b390933f682ab0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#abcfea69b8ce0bae805b390933f682ab0">setInitialCameraPose</a> (const Eigen::Affine3f &amp;pose)</td></tr>
<tr class="memdesc:abcfea69b8ce0bae805b390933f682ab0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets initial camera pose relative to volume coordiante space  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#abcfea69b8ce0bae805b390933f682ab0">更多...</a><br /></td></tr>
<tr class="separator:abcfea69b8ce0bae805b390933f682ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71ceabf375408cb4f8e5061e9e698e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae71ceabf375408cb4f8e5061e9e698e4">setDepthTruncationForICP</a> (float max_icp_distance=0.f)</td></tr>
<tr class="memdesc:ae71ceabf375408cb4f8e5061e9e698e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets truncation threshold for depth image for ICP step only! This helps to filter measurements that are outside tsdf volume. Pass zero to disable the truncation.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae71ceabf375408cb4f8e5061e9e698e4">更多...</a><br /></td></tr>
<tr class="separator:ae71ceabf375408cb4f8e5061e9e698e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3fa3c6059aa2e24d46b17bd3b8dc3a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae3fa3c6059aa2e24d46b17bd3b8dc3a9">setIcpCorespFilteringParams</a> (float distThreshold, float sineOfAngle)</td></tr>
<tr class="memdesc:ae3fa3c6059aa2e24d46b17bd3b8dc3a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets ICP filtering parameters.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae3fa3c6059aa2e24d46b17bd3b8dc3a9">更多...</a><br /></td></tr>
<tr class="separator:ae3fa3c6059aa2e24d46b17bd3b8dc3a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57c969f7f4ef5aaf6bfb861e6edd0d2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a57c969f7f4ef5aaf6bfb861e6edd0d2c">setCameraMovementThreshold</a> (float threshold=0.001f)</td></tr>
<tr class="memdesc:a57c969f7f4ef5aaf6bfb861e6edd0d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets integration threshold. TSDF volume is integrated iff a camera movement metric exceedes the threshold value. The metric represents the following: M = (rodrigues(Rotation).norm() + alpha*translation.norm())/2, where alpha = 1.f (hardcoded constant)  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a57c969f7f4ef5aaf6bfb861e6edd0d2c">更多...</a><br /></td></tr>
<tr class="separator:a57c969f7f4ef5aaf6bfb861e6edd0d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99d1881b90b794e5015ea4f00981b2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac99d1881b90b794e5015ea4f00981b2b">initColorIntegration</a> (int max_weight=-1)</td></tr>
<tr class="memdesc:ac99d1881b90b794e5015ea4f00981b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs initialization for color integration. Must be called before calling color integration.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac99d1881b90b794e5015ea4f00981b2b">更多...</a><br /></td></tr>
<tr class="separator:ac99d1881b90b794e5015ea4f00981b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1d72eefdfce4717fcc3423dc3c74600"><td class="memItemLeft" align="right" valign="top"><a id="ad1d72eefdfce4717fcc3423dc3c74600"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ad1d72eefdfce4717fcc3423dc3c74600">cols</a> ()</td></tr>
<tr class="memdesc:ad1d72eefdfce4717fcc3423dc3c74600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns cols passed to ctor <br /></td></tr>
<tr class="separator:ad1d72eefdfce4717fcc3423dc3c74600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae90e607595afa514d8f551b9c7f2b5c1"><td class="memItemLeft" align="right" valign="top"><a id="ae90e607595afa514d8f551b9c7f2b5c1"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae90e607595afa514d8f551b9c7f2b5c1">rows</a> ()</td></tr>
<tr class="memdesc:ae90e607595afa514d8f551b9c7f2b5c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns rows passed to ctor <br /></td></tr>
<tr class="separator:ae90e607595afa514d8f551b9c7f2b5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc2e875c37845e47b4a62ce1cffd635d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#acc2e875c37845e47b4a62ce1cffd635d">operator()</a> (const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;depth)</td></tr>
<tr class="memdesc:acc2e875c37845e47b4a62ce1cffd635d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes next frame.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#acc2e875c37845e47b4a62ce1cffd635d">更多...</a><br /></td></tr>
<tr class="separator:acc2e875c37845e47b4a62ce1cffd635d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ab5574af4e43c995e31b0c1532f08e5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a1ab5574af4e43c995e31b0c1532f08e5">operator()</a> (const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;depth, const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">View</a> &amp;colors)</td></tr>
<tr class="memdesc:a1ab5574af4e43c995e31b0c1532f08e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes next frame (both depth and color integration). Please call initColorIntegration before invpoking this.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a1ab5574af4e43c995e31b0c1532f08e5">更多...</a><br /></td></tr>
<tr class="separator:a1ab5574af4e43c995e31b0c1532f08e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21a0ecb3c1057b34dbd61785b3269c17"><td class="memItemLeft" align="right" valign="top">Eigen::Affine3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a21a0ecb3c1057b34dbd61785b3269c17">getCameraPose</a> (int time=-1) const</td></tr>
<tr class="memdesc:a21a0ecb3c1057b34dbd61785b3269c17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns camera pose at given time, default the last pose  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a21a0ecb3c1057b34dbd61785b3269c17">更多...</a><br /></td></tr>
<tr class="separator:a21a0ecb3c1057b34dbd61785b3269c17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bd8679be2b90805cf8026825b7cb042"><td class="memItemLeft" align="right" valign="top"><a id="a7bd8679be2b90805cf8026825b7cb042"></a>
Eigen::Affine3f&#160;</td><td class="memItemRight" valign="bottom"><b>getLastEstimatedPose</b> () const</td></tr>
<tr class="separator:a7bd8679be2b90805cf8026825b7cb042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b831d5691548d39444e151be731692c"><td class="memItemLeft" align="right" valign="top"><a id="a0b831d5691548d39444e151be731692c"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a0b831d5691548d39444e151be731692c">getNumberOfPoses</a> () const</td></tr>
<tr class="memdesc:a0b831d5691548d39444e151be731692c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of poses including initial <br /></td></tr>
<tr class="separator:a0b831d5691548d39444e151be731692c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e2c6101a18e7cbbab4a43e8402d4a3"><td class="memItemLeft" align="right" valign="top"><a id="a18e2c6101a18e7cbbab4a43e8402d4a3"></a>
const <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_tsdf_volume.html">TsdfVolume</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a18e2c6101a18e7cbbab4a43e8402d4a3">volume</a> () const</td></tr>
<tr class="memdesc:a18e2c6101a18e7cbbab4a43e8402d4a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns TSDF volume storage <br /></td></tr>
<tr class="separator:a18e2c6101a18e7cbbab4a43e8402d4a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83fafcc2285feb4784243f16faadf4ac"><td class="memItemLeft" align="right" valign="top"><a id="a83fafcc2285feb4784243f16faadf4ac"></a>
<a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_tsdf_volume.html">TsdfVolume</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a83fafcc2285feb4784243f16faadf4ac">volume</a> ()</td></tr>
<tr class="memdesc:a83fafcc2285feb4784243f16faadf4ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns TSDF volume storage <br /></td></tr>
<tr class="separator:a83fafcc2285feb4784243f16faadf4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3134a4fd0965b6106d5b15ebe9ab0d9"><td class="memItemLeft" align="right" valign="top"><a id="ac3134a4fd0965b6106d5b15ebe9ab0d9"></a>
const <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_color_volume.html">ColorVolume</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac3134a4fd0965b6106d5b15ebe9ab0d9">colorVolume</a> () const</td></tr>
<tr class="memdesc:ac3134a4fd0965b6106d5b15ebe9ab0d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns color volume storage <br /></td></tr>
<tr class="separator:ac3134a4fd0965b6106d5b15ebe9ab0d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390b03b97eb3ee968e9736797a23db6f"><td class="memItemLeft" align="right" valign="top"><a id="a390b03b97eb3ee968e9736797a23db6f"></a>
<a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_color_volume.html">ColorVolume</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a390b03b97eb3ee968e9736797a23db6f">colorVolume</a> ()</td></tr>
<tr class="memdesc:a390b03b97eb3ee968e9736797a23db6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns color volume storage <br /></td></tr>
<tr class="separator:a390b03b97eb3ee968e9736797a23db6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a170a02a5ed8eba23c95112f76e89efd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a170a02a5ed8eba23c95112f76e89efd9">getImage</a> (<a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">View</a> &amp;view) const</td></tr>
<tr class="memdesc:a170a02a5ed8eba23c95112f76e89efd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Renders 3D scene to display to human  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a170a02a5ed8eba23c95112f76e89efd9">更多...</a><br /></td></tr>
<tr class="separator:a170a02a5ed8eba23c95112f76e89efd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed8a584ff6b198cf8f02d974c21e1e83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aed8a584ff6b198cf8f02d974c21e1e83">getLastFrameCloud</a> (<a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">PointType</a> &gt; &amp;cloud) const</td></tr>
<tr class="memdesc:aed8a584ff6b198cf8f02d974c21e1e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns point cloud abserved from last camera pose  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aed8a584ff6b198cf8f02d974c21e1e83">更多...</a><br /></td></tr>
<tr class="separator:aed8a584ff6b198cf8f02d974c21e1e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dcd5ac346427c458c030e8e4124b70c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a0dcd5ac346427c458c030e8e4124b70c">getLastFrameNormals</a> (<a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; <a class="el" href="structpcl_1_1_normal.html">NormalType</a> &gt; &amp;normals) const</td></tr>
<tr class="memdesc:a0dcd5ac346427c458c030e8e4124b70c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns point cloud abserved from last camera pose  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a0dcd5ac346427c458c030e8e4124b70c">更多...</a><br /></td></tr>
<tr class="separator:a0dcd5ac346427c458c030e8e4124b70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97d7e42026dc5304832df731eb55da6"><td class="memItemLeft" align="right" valign="top"><a id="ad97d7e42026dc5304832df731eb55da6"></a>
<a class="el" href="structpcl_1_1gpu_1_1kinfu_l_s_1_1tsdf__buffer.html">tsdf_buffer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ad97d7e42026dc5304832df731eb55da6">getCyclicalBufferStructure</a> ()</td></tr>
<tr class="memdesc:ad97d7e42026dc5304832df731eb55da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns pointer to the cyclical buffer structure <br /></td></tr>
<tr class="separator:ad97d7e42026dc5304832df731eb55da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29d540f6d97ed58a9a597bda07f25104"><td class="memItemLeft" align="right" valign="top"><a id="a29d540f6d97ed58a9a597bda07f25104"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a29d540f6d97ed58a9a597bda07f25104">extractAndSaveWorld</a> ()</td></tr>
<tr class="memdesc:a29d540f6d97ed58a9a597bda07f25104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract the world and save it. <br /></td></tr>
<tr class="separator:a29d540f6d97ed58a9a597bda07f25104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8686ed7b72c174200eeb5ae191feaafa"><td class="memItemLeft" align="right" valign="top"><a id="a8686ed7b72c174200eeb5ae191feaafa"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a8686ed7b72c174200eeb5ae191feaafa">icpIsLost</a> ()</td></tr>
<tr class="memdesc:a8686ed7b72c174200eeb5ae191feaafa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if ICP is currently lost <br /></td></tr>
<tr class="separator:a8686ed7b72c174200eeb5ae191feaafa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5f343a0d1e96bea97b3a377e4fb249b"><td class="memItemLeft" align="right" valign="top"><a id="af5f343a0d1e96bea97b3a377e4fb249b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#af5f343a0d1e96bea97b3a377e4fb249b">reset</a> ()</td></tr>
<tr class="memdesc:af5f343a0d1e96bea97b3a377e4fb249b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs the tracker reset to initial state. It's used if camera tracking fails. <br /></td></tr>
<tr class="separator:af5f343a0d1e96bea97b3a377e4fb249b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8de9e3a2576c0f60706ceca8889ddd1"><td class="memItemLeft" align="right" valign="top"><a id="ab8de9e3a2576c0f60706ceca8889ddd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setDisableICP</b> ()</td></tr>
<tr class="separator:ab8de9e3a2576c0f60706ceca8889ddd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a361ccd70445c14541060c8c92ccb0057"><td class="memItemLeft" align="right" valign="top"><a id="a361ccd70445c14541060c8c92ccb0057"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a361ccd70445c14541060c8c92ccb0057">hasShifted</a> () const</td></tr>
<tr class="memdesc:a361ccd70445c14541060c8c92ccb0057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether the last update resulted in a shift <br /></td></tr>
<tr class="separator:a361ccd70445c14541060c8c92ccb0057"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private 类型</h2></td></tr>
<tr class="memitem:a4150f612efa28a0dbb3d4bee89f1d52d"><td class="memItemLeft" align="right" valign="top"><a id="a4150f612efa28a0dbb3d4bee89f1d52d"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>LEVELS</b> = 3
 }</td></tr>
<tr class="memdesc:a4150f612efa28a0dbb3d4bee89f1d52d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of pyramid levels <br /></td></tr>
<tr class="separator:a4150f612efa28a0dbb3d4bee89f1d52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a618540e44f5ada09ce47912d56df8aea"><td class="memItemLeft" align="right" valign="top"><a id="a618540e44f5ada09ce47912d56df8aea"></a>
typedef <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a618540e44f5ada09ce47912d56df8aea">CorespMap</a></td></tr>
<tr class="memdesc:a618540e44f5ada09ce47912d56df8aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">ICP Correspondences map type <br /></td></tr>
<tr class="separator:a618540e44f5ada09ce47912d56df8aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5cdd3891cdd1d78e84ca4550b7e86d9"><td class="memItemLeft" align="right" valign="top"><a id="ab5cdd3891cdd1d78e84ca4550b7e86d9"></a>
typedef <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a></td></tr>
<tr class="memdesc:ab5cdd3891cdd1d78e84ca4550b7e86d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex or <a class="el" href="structpcl_1_1_normal.html" title="A point structure representing normal coordinates and the surface curvature estimate....">Normal</a> Map type <br /></td></tr>
<tr class="separator:ab5cdd3891cdd1d78e84ca4550b7e86d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb3342ef1bcd9eae6726066e1c86e130"><td class="memItemLeft" align="right" valign="top"><a id="afb3342ef1bcd9eae6726066e1c86e130"></a>
typedef Eigen::Matrix&lt; float, 3, 3, Eigen::RowMajor &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Matrix3frm</b></td></tr>
<tr class="separator:afb3342ef1bcd9eae6726066e1c86e130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5acf4538d58b0617faba3418a160887f"><td class="memItemLeft" align="right" valign="top"><a id="a5acf4538d58b0617faba3418a160887f"></a>
typedef Eigen::Vector3f&#160;</td><td class="memItemRight" valign="bottom"><b>Vector3f</b></td></tr>
<tr class="separator:a5acf4538d58b0617faba3418a160887f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:acb6e1651da498ccd131fd3ec9dd09d7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#acb6e1651da498ccd131fd3ec9dd09d7b">allocateBufffers</a> (int rows_arg, int cols_arg)</td></tr>
<tr class="memdesc:acb6e1651da498ccd131fd3ec9dd09d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates all GPU internal buffers.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#acb6e1651da498ccd131fd3ec9dd09d7b">更多...</a><br /></td></tr>
<tr class="separator:acb6e1651da498ccd131fd3ec9dd09d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae6fae035540920860af7e32d086c44f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aae6fae035540920860af7e32d086c44f">convertTransforms</a> (Matrix3frm &amp;transform_in_1, Matrix3frm &amp;transform_in_2, Eigen::Vector3f &amp;translation_in_1, Eigen::Vector3f &amp;translation_in_2, <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;transform_out_1, <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;transform_out_2, float3 &amp;translation_out_1, float3 &amp;translation_out_2)</td></tr>
<tr class="memdesc:aae6fae035540920860af7e32d086c44f"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that converts transforms from host to device types  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aae6fae035540920860af7e32d086c44f">更多...</a><br /></td></tr>
<tr class="separator:aae6fae035540920860af7e32d086c44f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a352a800fd2ff74eead201739854a9643"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a352a800fd2ff74eead201739854a9643">convertTransforms</a> (Matrix3frm &amp;transform_in_1, Matrix3frm &amp;transform_in_2, Eigen::Vector3f &amp;translation_in, <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;transform_out_1, <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;transform_out_2, float3 &amp;translation_out)</td></tr>
<tr class="memdesc:a352a800fd2ff74eead201739854a9643"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that converts transforms from host to device types  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a352a800fd2ff74eead201739854a9643">更多...</a><br /></td></tr>
<tr class="separator:a352a800fd2ff74eead201739854a9643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ae0e7ad2f155d75aecf4758f9dec0ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a7ae0e7ad2f155d75aecf4758f9dec0ec">convertTransforms</a> (Matrix3frm &amp;transform_in, Eigen::Vector3f &amp;translation_in, <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;transform_out, float3 &amp;translation_out)</td></tr>
<tr class="memdesc:a7ae0e7ad2f155d75aecf4758f9dec0ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that converts transforms from host to device types  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a7ae0e7ad2f155d75aecf4758f9dec0ec">更多...</a><br /></td></tr>
<tr class="separator:a7ae0e7ad2f155d75aecf4758f9dec0ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964f89578a995e009104fdef7d14b847"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a964f89578a995e009104fdef7d14b847">prepareMaps</a> (const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;depth_raw, const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a> &amp;cam_intrinsics)</td></tr>
<tr class="memdesc:a964f89578a995e009104fdef7d14b847"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that pre-process a raw detph map the kinect fusion algorithm. The raw depth map is first blured, eventually truncated, and downsampled for each pyramid level. Then, vertex and normal maps are computed for each pyramid level.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a964f89578a995e009104fdef7d14b847">更多...</a><br /></td></tr>
<tr class="separator:a964f89578a995e009104fdef7d14b847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a312ac30364ae3e015c6cd4cb6d1b74be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a312ac30364ae3e015c6cd4cb6d1b74be">performICP</a> (const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a> &amp;cam_intrinsics, Matrix3frm &amp;previous_global_rotation, Vector3f &amp;previous_global_translation, Matrix3frm &amp;current_global_rotation, Vector3f &amp;current_global_translation)</td></tr>
<tr class="memdesc:a312ac30364ae3e015c6cd4cb6d1b74be"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that performs GPU-based ICP, using vertex and normal maps stored in v/nmaps_curr_ and v/nmaps_g_prev_ The function requires the previous local camera pose (translation and inverted rotation) as well as camera intrinsics. It will return the newly computed pose found as global rotation and translation.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a312ac30364ae3e015c6cd4cb6d1b74be">更多...</a><br /></td></tr>
<tr class="separator:a312ac30364ae3e015c6cd4cb6d1b74be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdca8a9bcd85ba840627f03e2e0325db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#afdca8a9bcd85ba840627f03e2e0325db">performPairWiseICP</a> (const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a> cam_intrinsics, Matrix3frm &amp;resulting_rotation, Vector3f &amp;resulting_translation)</td></tr>
<tr class="memdesc:afdca8a9bcd85ba840627f03e2e0325db"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function that performs GPU-based ICP, using the current and the previous depth-maps (i.e. not using the synthetic depth map generated from the tsdf-volume) The function requires camera intrinsics. It will return the transformation between the previous and the current depth map.  <a href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#afdca8a9bcd85ba840627f03e2e0325db">更多...</a><br /></td></tr>
<tr class="separator:afdca8a9bcd85ba840627f03e2e0325db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0749fdb8b34dad715f96508d121e358"><td class="memItemLeft" align="right" valign="top"><a id="aa0749fdb8b34dad715f96508d121e358"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aa0749fdb8b34dad715f96508d121e358">saveCurrentMaps</a> ()</td></tr>
<tr class="memdesc:aa0749fdb8b34dad715f96508d121e358"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function that copies v_maps_curr and n_maps_curr to v_maps_prev_ and n_maps_prev_ <br /></td></tr>
<tr class="separator:aa0749fdb8b34dad715f96508d121e358"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a4d43ce48bc46407a7b4d31ba36bc73b5"><td class="memItemLeft" align="right" valign="top"><a id="a4d43ce48bc46407a7b4d31ba36bc73b5"></a>
<a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_cyclical_buffer.html">CyclicalBuffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a4d43ce48bc46407a7b4d31ba36bc73b5">cyclical_</a></td></tr>
<tr class="memdesc:a4d43ce48bc46407a7b4d31ba36bc73b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cyclical buffer object <br /></td></tr>
<tr class="separator:a4d43ce48bc46407a7b4d31ba36bc73b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9289dcf7047233b87ad08cfe9fc0827c"><td class="memItemLeft" align="right" valign="top"><a id="a9289dcf7047233b87ad08cfe9fc0827c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a9289dcf7047233b87ad08cfe9fc0827c">rows_</a></td></tr>
<tr class="memdesc:a9289dcf7047233b87ad08cfe9fc0827c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Height of input depth image. <br /></td></tr>
<tr class="separator:a9289dcf7047233b87ad08cfe9fc0827c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acddcf0de1964d13e07c73f8b02bc337b"><td class="memItemLeft" align="right" valign="top"><a id="acddcf0de1964d13e07c73f8b02bc337b"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#acddcf0de1964d13e07c73f8b02bc337b">cols_</a></td></tr>
<tr class="memdesc:acddcf0de1964d13e07c73f8b02bc337b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Width of input depth image. <br /></td></tr>
<tr class="separator:acddcf0de1964d13e07c73f8b02bc337b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53266ecabd153fbba4e8338a39ef7140"><td class="memItemLeft" align="right" valign="top"><a id="a53266ecabd153fbba4e8338a39ef7140"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a53266ecabd153fbba4e8338a39ef7140">global_time_</a></td></tr>
<tr class="memdesc:a53266ecabd153fbba4e8338a39ef7140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame counter <br /></td></tr>
<tr class="separator:a53266ecabd153fbba4e8338a39ef7140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed0a06f7eae44c9ee6ea904902cf1dc"><td class="memItemLeft" align="right" valign="top"><a id="aeed0a06f7eae44c9ee6ea904902cf1dc"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aeed0a06f7eae44c9ee6ea904902cf1dc">max_icp_distance_</a></td></tr>
<tr class="memdesc:aeed0a06f7eae44c9ee6ea904902cf1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Truncation threshold for depth image for ICP step <br /></td></tr>
<tr class="separator:aeed0a06f7eae44c9ee6ea904902cf1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb2dc938575da86375e34aef9a233962"><td class="memItemLeft" align="right" valign="top"><a id="abb2dc938575da86375e34aef9a233962"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#abb2dc938575da86375e34aef9a233962">fx_</a></td></tr>
<tr class="memdesc:abb2dc938575da86375e34aef9a233962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intrinsic parameters of depth camera. <br /></td></tr>
<tr class="separator:abb2dc938575da86375e34aef9a233962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8739480a58d8a9735e5a0e479d5099ea"><td class="memItemLeft" align="right" valign="top"><a id="a8739480a58d8a9735e5a0e479d5099ea"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>fy_</b></td></tr>
<tr class="separator:a8739480a58d8a9735e5a0e479d5099ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a873b7ea0305b3ba7cb2bf19a934e6b59"><td class="memItemLeft" align="right" valign="top"><a id="a873b7ea0305b3ba7cb2bf19a934e6b59"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>cx_</b></td></tr>
<tr class="separator:a873b7ea0305b3ba7cb2bf19a934e6b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53da852dc53c70611204c6e318e2c4e"><td class="memItemLeft" align="right" valign="top"><a id="aa53da852dc53c70611204c6e318e2c4e"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>cy_</b></td></tr>
<tr class="separator:aa53da852dc53c70611204c6e318e2c4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00f37f7656a4ce35bb0f41d981274555"><td class="memItemLeft" align="right" valign="top"><a id="a00f37f7656a4ce35bb0f41d981274555"></a>
TsdfVolume::Ptr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a00f37f7656a4ce35bb0f41d981274555">tsdf_volume_</a></td></tr>
<tr class="memdesc:a00f37f7656a4ce35bb0f41d981274555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tsdf volume container. <br /></td></tr>
<tr class="separator:a00f37f7656a4ce35bb0f41d981274555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b16baf5a0292c5d4f176c0861ee0e20"><td class="memItemLeft" align="right" valign="top"><a id="a8b16baf5a0292c5d4f176c0861ee0e20"></a>
ColorVolume::Ptr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a8b16baf5a0292c5d4f176c0861ee0e20">color_volume_</a></td></tr>
<tr class="memdesc:a8b16baf5a0292c5d4f176c0861ee0e20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Color volume container. <br /></td></tr>
<tr class="separator:a8b16baf5a0292c5d4f176c0861ee0e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa2eaf4a1d7080081dc869219ea0cacd"><td class="memItemLeft" align="right" valign="top"><a id="aaa2eaf4a1d7080081dc869219ea0cacd"></a>
Matrix3frm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aaa2eaf4a1d7080081dc869219ea0cacd">init_Rcam_</a></td></tr>
<tr class="memdesc:aaa2eaf4a1d7080081dc869219ea0cacd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial camera rotation in volume coo space. <br /></td></tr>
<tr class="separator:aaa2eaf4a1d7080081dc869219ea0cacd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18fe442fbb636b829d19dbb3e0f23b69"><td class="memItemLeft" align="right" valign="top"><a id="a18fe442fbb636b829d19dbb3e0f23b69"></a>
Vector3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a18fe442fbb636b829d19dbb3e0f23b69">init_tcam_</a></td></tr>
<tr class="memdesc:a18fe442fbb636b829d19dbb3e0f23b69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial camera position in volume coo space. <br /></td></tr>
<tr class="separator:a18fe442fbb636b829d19dbb3e0f23b69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9c5c8d3bb7fc801de870a4bd1cc30d9"><td class="memItemLeft" align="right" valign="top"><a id="af9c5c8d3bb7fc801de870a4bd1cc30d9"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#af9c5c8d3bb7fc801de870a4bd1cc30d9">icp_iterations_</a> [LEVELS]</td></tr>
<tr class="memdesc:af9c5c8d3bb7fc801de870a4bd1cc30d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">array with IPC iteration numbers for each pyramid level <br /></td></tr>
<tr class="separator:af9c5c8d3bb7fc801de870a4bd1cc30d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cb1a788bdab1bd4d3e1c8e3d5475396"><td class="memItemLeft" align="right" valign="top"><a id="a3cb1a788bdab1bd4d3e1c8e3d5475396"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a3cb1a788bdab1bd4d3e1c8e3d5475396">distThres_</a></td></tr>
<tr class="memdesc:a3cb1a788bdab1bd4d3e1c8e3d5475396"><td class="mdescLeft">&#160;</td><td class="mdescRight">distance threshold in correspondences filtering <br /></td></tr>
<tr class="separator:a3cb1a788bdab1bd4d3e1c8e3d5475396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafb8885157215d11c5024e8ee2fb2b6a"><td class="memItemLeft" align="right" valign="top"><a id="aafb8885157215d11c5024e8ee2fb2b6a"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aafb8885157215d11c5024e8ee2fb2b6a">angleThres_</a></td></tr>
<tr class="memdesc:aafb8885157215d11c5024e8ee2fb2b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">angle threshold in correspondences filtering. Represents max sine of angle between normals. <br /></td></tr>
<tr class="separator:aafb8885157215d11c5024e8ee2fb2b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab46df35e7d48700be1dd0ba393e0881b"><td class="memItemLeft" align="right" valign="top"><a id="ab46df35e7d48700be1dd0ba393e0881b"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab46df35e7d48700be1dd0ba393e0881b">depths_curr_</a></td></tr>
<tr class="memdesc:ab46df35e7d48700be1dd0ba393e0881b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth pyramid. <br /></td></tr>
<tr class="separator:ab46df35e7d48700be1dd0ba393e0881b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e1bbb754206ef49954084f1eb77e82"><td class="memItemLeft" align="right" valign="top"><a id="a60e1bbb754206ef49954084f1eb77e82"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a60e1bbb754206ef49954084f1eb77e82">vmaps_g_curr_</a></td></tr>
<tr class="memdesc:a60e1bbb754206ef49954084f1eb77e82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex maps pyramid for current frame in global coordinate space. <br /></td></tr>
<tr class="separator:a60e1bbb754206ef49954084f1eb77e82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a231effee4dc14c11b75019757d5f62ed"><td class="memItemLeft" align="right" valign="top"><a id="a231effee4dc14c11b75019757d5f62ed"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a231effee4dc14c11b75019757d5f62ed">nmaps_g_curr_</a></td></tr>
<tr class="memdesc:a231effee4dc14c11b75019757d5f62ed"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structpcl_1_1_normal.html" title="A point structure representing normal coordinates and the surface curvature estimate....">Normal</a> maps pyramid for current frame in global coordinate space. <br /></td></tr>
<tr class="separator:a231effee4dc14c11b75019757d5f62ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91a9ba7bb5609e972c44481b00a22dd7"><td class="memItemLeft" align="right" valign="top"><a id="a91a9ba7bb5609e972c44481b00a22dd7"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a91a9ba7bb5609e972c44481b00a22dd7">vmaps_g_prev_</a></td></tr>
<tr class="memdesc:a91a9ba7bb5609e972c44481b00a22dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex maps pyramid for previous frame in global coordinate space. <br /></td></tr>
<tr class="separator:a91a9ba7bb5609e972c44481b00a22dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee72614b3b0835fefd4a2f80cb62701"><td class="memItemLeft" align="right" valign="top"><a id="aaee72614b3b0835fefd4a2f80cb62701"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aaee72614b3b0835fefd4a2f80cb62701">nmaps_g_prev_</a></td></tr>
<tr class="memdesc:aaee72614b3b0835fefd4a2f80cb62701"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structpcl_1_1_normal.html" title="A point structure representing normal coordinates and the surface curvature estimate....">Normal</a> maps pyramid for previous frame in global coordinate space. <br /></td></tr>
<tr class="separator:aaee72614b3b0835fefd4a2f80cb62701"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3de8e52741fd4d8cf28e6d3b65e7f89"><td class="memItemLeft" align="right" valign="top"><a id="ac3de8e52741fd4d8cf28e6d3b65e7f89"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac3de8e52741fd4d8cf28e6d3b65e7f89">vmaps_curr_</a></td></tr>
<tr class="memdesc:ac3de8e52741fd4d8cf28e6d3b65e7f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex maps pyramid for current frame in current coordinate space. <br /></td></tr>
<tr class="separator:ac3de8e52741fd4d8cf28e6d3b65e7f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14126dfc98992e923b7adc98839170e2"><td class="memItemLeft" align="right" valign="top"><a id="a14126dfc98992e923b7adc98839170e2"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a14126dfc98992e923b7adc98839170e2">nmaps_curr_</a></td></tr>
<tr class="memdesc:a14126dfc98992e923b7adc98839170e2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structpcl_1_1_normal.html" title="A point structure representing normal coordinates and the surface curvature estimate....">Normal</a> maps pyramid for current frame in current coordinate space. <br /></td></tr>
<tr class="separator:a14126dfc98992e923b7adc98839170e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3836565e8fb514d52dfae00a69de784f"><td class="memItemLeft" align="right" valign="top"><a id="a3836565e8fb514d52dfae00a69de784f"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a3836565e8fb514d52dfae00a69de784f">vmaps_prev_</a></td></tr>
<tr class="memdesc:a3836565e8fb514d52dfae00a69de784f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex maps pyramid for previous frame in current coordinate space. <br /></td></tr>
<tr class="separator:a3836565e8fb514d52dfae00a69de784f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a488405ab75d62b631c5459f49dffae12"><td class="memItemLeft" align="right" valign="top"><a id="a488405ab75d62b631c5459f49dffae12"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab5cdd3891cdd1d78e84ca4550b7e86d9">MapArr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a488405ab75d62b631c5459f49dffae12">nmaps_prev_</a></td></tr>
<tr class="memdesc:a488405ab75d62b631c5459f49dffae12"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structpcl_1_1_normal.html" title="A point structure representing normal coordinates and the surface curvature estimate....">Normal</a> maps pyramid for previous frame in current coordinate space. <br /></td></tr>
<tr class="separator:a488405ab75d62b631c5459f49dffae12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1218f76c2c3b7e442c0025ed777bcba"><td class="memItemLeft" align="right" valign="top"><a id="af1218f76c2c3b7e442c0025ed777bcba"></a>
std::vector&lt; <a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a618540e44f5ada09ce47912d56df8aea">CorespMap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#af1218f76c2c3b7e442c0025ed777bcba">coresps_</a></td></tr>
<tr class="memdesc:af1218f76c2c3b7e442c0025ed777bcba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of buffers with ICP correspondences for each pyramid level. <br /></td></tr>
<tr class="separator:af1218f76c2c3b7e442c0025ed777bcba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082a451975b814b32a7ae92399c571b5"><td class="memItemLeft" align="right" valign="top"><a id="a082a451975b814b32a7ae92399c571b5"></a>
<a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a082a451975b814b32a7ae92399c571b5">depthRawScaled_</a></td></tr>
<tr class="memdesc:a082a451975b814b32a7ae92399c571b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer for storing scaled depth image <br /></td></tr>
<tr class="separator:a082a451975b814b32a7ae92399c571b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e726da9772591106260d1019f1284bd"><td class="memItemLeft" align="right" valign="top"><a id="a8e726da9772591106260d1019f1284bd"></a>
<a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a8e726da9772591106260d1019f1284bd">gbuf_</a></td></tr>
<tr class="memdesc:a8e726da9772591106260d1019f1284bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporary buffer for ICP <br /></td></tr>
<tr class="separator:a8e726da9772591106260d1019f1284bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1505522093cc04ae19cdc7d2fd8131b"><td class="memItemLeft" align="right" valign="top"><a id="ac1505522093cc04ae19cdc7d2fd8131b"></a>
<a class="el" href="classpcl_1_1gpu_1_1_device_array.html">DeviceArray</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac1505522093cc04ae19cdc7d2fd8131b">sumbuf_</a></td></tr>
<tr class="memdesc:ac1505522093cc04ae19cdc7d2fd8131b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer to store MLS matrix. <br /></td></tr>
<tr class="separator:ac1505522093cc04ae19cdc7d2fd8131b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3411c2443676f71df7c07aa60858b0c"><td class="memItemLeft" align="right" valign="top"><a id="aa3411c2443676f71df7c07aa60858b0c"></a>
std::vector&lt; Matrix3frm &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aa3411c2443676f71df7c07aa60858b0c">rmats_</a></td></tr>
<tr class="memdesc:aa3411c2443676f71df7c07aa60858b0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of camera rotation matrices for each moment of time. <br /></td></tr>
<tr class="separator:aa3411c2443676f71df7c07aa60858b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed69681560bca92dd5b556d742bb49f"><td class="memItemLeft" align="right" valign="top"><a id="afed69681560bca92dd5b556d742bb49f"></a>
std::vector&lt; Vector3f &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#afed69681560bca92dd5b556d742bb49f">tvecs_</a></td></tr>
<tr class="memdesc:afed69681560bca92dd5b556d742bb49f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of camera translations for each moment of time. <br /></td></tr>
<tr class="separator:afed69681560bca92dd5b556d742bb49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a564ed9f8852774c841f2eb4ae2ee4324"><td class="memItemLeft" align="right" valign="top"><a id="a564ed9f8852774c841f2eb4ae2ee4324"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a564ed9f8852774c841f2eb4ae2ee4324">integration_metric_threshold_</a></td></tr>
<tr class="memdesc:a564ed9f8852774c841f2eb4ae2ee4324"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_camera.html">Camera</a> movement threshold. TSDF is integrated iff a camera movement metric exceedes some value. <br /></td></tr>
<tr class="separator:a564ed9f8852774c841f2eb4ae2ee4324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d9d45c8f937e70d3c815b36e7feeae"><td class="memItemLeft" align="right" valign="top"><a id="a73d9d45c8f937e70d3c815b36e7feeae"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a73d9d45c8f937e70d3c815b36e7feeae">perform_last_scan_</a></td></tr>
<tr class="memdesc:a73d9d45c8f937e70d3c815b36e7feeae"><td class="mdescLeft">&#160;</td><td class="mdescRight">When set to true, KinFu will extract the whole world and mesh it. <br /></td></tr>
<tr class="separator:a73d9d45c8f937e70d3c815b36e7feeae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeff0263eb3ac9c2f4b5d1f502bd134c4"><td class="memItemLeft" align="right" valign="top"><a id="aeff0263eb3ac9c2f4b5d1f502bd134c4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#aeff0263eb3ac9c2f4b5d1f502bd134c4">finished_</a></td></tr>
<tr class="memdesc:aeff0263eb3ac9c2f4b5d1f502bd134c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">When set to true, KinFu notifies that it is finished scanning and can be stopped. <br /></td></tr>
<tr class="separator:aeff0263eb3ac9c2f4b5d1f502bd134c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ccd8bd786c71e1844076e0920c27a2"><td class="memItemLeft" align="right" valign="top"><a id="ad5ccd8bd786c71e1844076e0920c27a2"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ad5ccd8bd786c71e1844076e0920c27a2">shifting_distance_</a></td></tr>
<tr class="memdesc:ad5ccd8bd786c71e1844076e0920c27a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">// when the camera target point is farther than DISTANCE_THRESHOLD from the current cube's center, shifting occurs. In meters . <br /></td></tr>
<tr class="separator:ad5ccd8bd786c71e1844076e0920c27a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a714b546e10081182e5db120cf6164"><td class="memItemLeft" align="right" valign="top"><a id="ab0a714b546e10081182e5db120cf6164"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ab0a714b546e10081182e5db120cf6164">volume_size_</a></td></tr>
<tr class="memdesc:ab0a714b546e10081182e5db120cf6164"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the TSDF volume in meters. <br /></td></tr>
<tr class="separator:ab0a714b546e10081182e5db120cf6164"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19efb60b8f67402be70e0343884655b6"><td class="memItemLeft" align="right" valign="top"><a id="a19efb60b8f67402be70e0343884655b6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#a19efb60b8f67402be70e0343884655b6">lost_</a></td></tr>
<tr class="memdesc:a19efb60b8f67402be70e0343884655b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if ICP is lost <br /></td></tr>
<tr class="separator:a19efb60b8f67402be70e0343884655b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afba6483192e6c8ec3dbb8af4e997f62e"><td class="memItemLeft" align="right" valign="top"><a id="afba6483192e6c8ec3dbb8af4e997f62e"></a>
Matrix3frm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#afba6483192e6c8ec3dbb8af4e997f62e">last_estimated_rotation_</a></td></tr>
<tr class="memdesc:afba6483192e6c8ec3dbb8af4e997f62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last estimated rotation (estimation is done via pairwise alignment when ICP is failing) <br /></td></tr>
<tr class="separator:afba6483192e6c8ec3dbb8af4e997f62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac89b5a032e5c33dda7c74533ba0c2462"><td class="memItemLeft" align="right" valign="top"><a id="ac89b5a032e5c33dda7c74533ba0c2462"></a>
Vector3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ac89b5a032e5c33dda7c74533ba0c2462">last_estimated_translation_</a></td></tr>
<tr class="memdesc:ac89b5a032e5c33dda7c74533ba0c2462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last estimated translation (estimation is done via pairwise alignment when ICP is failing) <br /></td></tr>
<tr class="separator:ac89b5a032e5c33dda7c74533ba0c2462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13dd91cc98c4ceed9e311dd3c75da454"><td class="memItemLeft" align="right" valign="top"><a id="a13dd91cc98c4ceed9e311dd3c75da454"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>disable_icp_</b></td></tr>
<tr class="separator:a13dd91cc98c4ceed9e311dd3c75da454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae87c9b1b9b5a0b981586a9e90b155f26"><td class="memItemLeft" align="right" valign="top"><a id="ae87c9b1b9b5a0b981586a9e90b155f26"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html#ae87c9b1b9b5a0b981586a9e90b155f26">has_shifted_</a></td></tr>
<tr class="memdesc:ae87c9b1b9b5a0b981586a9e90b155f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">True or false depending on if there was a shift in the last pose update <br /></td></tr>
<tr class="separator:ae87c9b1b9b5a0b981586a9e90b155f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html" title="KinfuTracker class encapsulates implementation of Microsoft Kinect Fusion algorithm">KinfuTracker</a> class encapsulates implementation of Microsoft Kinect Fusion algorithm </p>
<dl class="section author"><dt>作者</dt><dd>Anatoly Baskeheev, Itseez Ltd, (<a href="#" onclick="location.href='mai'+'lto:'+'myn'+'am'+'e.m'+'ys'+'urn'+'am'+'e@m'+'yc'+'omp'+'an'+'y.c'+'om'; return false;">mynam<span style="display: none;">.nosp@m.</span>e.my<span style="display: none;">.nosp@m.</span>surna<span style="display: none;">.nosp@m.</span>me@m<span style="display: none;">.nosp@m.</span>ycomp<span style="display: none;">.nosp@m.</span>any.<span style="display: none;">.nosp@m.</span>com</a>) </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="ab6020bce0b1e64d63b5685e5c3db152c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6020bce0b1e64d63b5685e5c3db152c">&#9670;&nbsp;</a></span>KinfuTracker()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">pcl::gpu::kinfuLS::KinfuTracker::KinfuTracker </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>volumeSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>shiftingDistance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows</em> = <code>480</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cols</em> = <code>640</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">volumeSize</td><td>physical size of the volume represented by the tdsf volume. In meters. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">shiftingDistance</td><td>when the camera target point is farther than shiftingDistance from the center of the volume, shiting occurs. In meters. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>The target point is located at (0, 0, 0.6*volumeSize) in camera coordinates. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rows</td><td>height of depth image </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cols</td><td>width of depth image </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="acb6e1651da498ccd131fd3ec9dd09d7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb6e1651da498ccd131fd3ec9dd09d7b">&#9670;&nbsp;</a></span>allocateBufffers()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::allocateBufffers </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rows_arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cols_arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates all GPU internal buffers. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rows_arg</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cols_arg</td><td><br  />
 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7ae0e7ad2f155d75aecf4758f9dec0ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ae0e7ad2f155d75aecf4758f9dec0ec">&#9670;&nbsp;</a></span>convertTransforms() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::convertTransforms </td>
          <td>(</td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>transform_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>translation_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;&#160;</td>
          <td class="paramname"><em>transform_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float3 &amp;&#160;</td>
          <td class="paramname"><em>translation_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that converts transforms from host to device types </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">transformIn</td><td>transform to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">translationIn</td><td>translation to convert </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">transformOut</td><td>result of transform conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">translationOut</td><td>result of translation conversion </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a352a800fd2ff74eead201739854a9643"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a352a800fd2ff74eead201739854a9643">&#9670;&nbsp;</a></span>convertTransforms() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::convertTransforms </td>
          <td>(</td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>transform_in_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>transform_in_2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>translation_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;&#160;</td>
          <td class="paramname"><em>transform_out_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;&#160;</td>
          <td class="paramname"><em>transform_out_2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float3 &amp;&#160;</td>
          <td class="paramname"><em>translation_out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that converts transforms from host to device types </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">transformIn1</td><td>first transform to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">transformIn2</td><td>second transform to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">translationIn</td><td>translation to convert </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">transformOut1</td><td>result of first transform conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">transformOut2</td><td>result of second transform conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">translationOut</td><td>result of translation conversion </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aae6fae035540920860af7e32d086c44f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae6fae035540920860af7e32d086c44f">&#9670;&nbsp;</a></span>convertTransforms() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::convertTransforms </td>
          <td>(</td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>transform_in_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>transform_in_2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>translation_in_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>translation_in_2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;&#160;</td>
          <td class="paramname"><em>transform_out_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_mat33.html">pcl::device::kinfuLS::Mat33</a> &amp;&#160;</td>
          <td class="paramname"><em>transform_out_2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float3 &amp;&#160;</td>
          <td class="paramname"><em>translation_out_1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float3 &amp;&#160;</td>
          <td class="paramname"><em>translation_out_2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that converts transforms from host to device types </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">transformIn1</td><td>first transform to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">transformIn2</td><td>second transform to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">translationIn1</td><td>first translation to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">translationIn2</td><td>second translation to convert </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">transformOut1</td><td>result of first transform conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">transformOut2</td><td>result of second transform conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">translationOut1</td><td>result of first translation conversion </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">translationOut2</td><td>result of second translation conversion </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a21a0ecb3c1057b34dbd61785b3269c17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21a0ecb3c1057b34dbd61785b3269c17">&#9670;&nbsp;</a></span>getCameraPose()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Eigen::Affine3f pcl::gpu::kinfuLS::KinfuTracker::getCameraPose </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>time</em> = <code>-1</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns camera pose at given time, default the last pose </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>Index of frame for which camera pose is returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>camera pose </dd></dl>

</div>
</div>
<a id="a170a02a5ed8eba23c95112f76e89efd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a170a02a5ed8eba23c95112f76e89efd9">&#9670;&nbsp;</a></span>getImage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::getImage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">View</a> &amp;&#160;</td>
          <td class="paramname"><em>view</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Renders 3D scene to display to human </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">view</td><td>output array with image </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aed8a584ff6b198cf8f02d974c21e1e83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed8a584ff6b198cf8f02d974c21e1e83">&#9670;&nbsp;</a></span>getLastFrameCloud()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::getLastFrameCloud </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">PointType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cloud</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns point cloud abserved from last camera pose </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">cloud</td><td>output array for points </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0dcd5ac346427c458c030e8e4124b70c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dcd5ac346427c458c030e8e4124b70c">&#9670;&nbsp;</a></span>getLastFrameNormals()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::getLastFrameNormals </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DeviceArray2D</a>&lt; <a class="el" href="structpcl_1_1_normal.html">NormalType</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>normals</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns point cloud abserved from last camera pose </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">normals</td><td>output array for normals </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac99d1881b90b794e5015ea4f00981b2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac99d1881b90b794e5015ea4f00981b2b">&#9670;&nbsp;</a></span>initColorIntegration()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::initColorIntegration </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_weight</em> = <code>-1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs initialization for color integration. Must be called before calling color integration. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">max_weight</td><td>max weighe for color integration. -1 means default weight. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acc2e875c37845e47b4a62ce1cffd635d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc2e875c37845e47b4a62ce1cffd635d">&#9670;&nbsp;</a></span>operator()() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::gpu::kinfuLS::KinfuTracker::operator() </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;&#160;</td>
          <td class="paramname"><em>depth</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processes next frame. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">depth</td><td>next frame with values in millimeters </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>true if can render 3D view. </dd></dl>

</div>
</div>
<a id="a1ab5574af4e43c995e31b0c1532f08e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ab5574af4e43c995e31b0c1532f08e5">&#9670;&nbsp;</a></span>operator()() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::gpu::kinfuLS::KinfuTracker::operator() </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;&#160;</td>
          <td class="paramname"><em>depth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">View</a> &amp;&#160;</td>
          <td class="paramname"><em>colors</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processes next frame (both depth and color integration). Please call initColorIntegration before invpoking this. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">depth</td><td>next depth frame with values in millimeters </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">colors</td><td>next <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> frame </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>true if can render 3D view. </dd></dl>

</div>
</div>
<a id="a312ac30364ae3e015c6cd4cb6d1b74be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a312ac30364ae3e015c6cd4cb6d1b74be">&#9670;&nbsp;</a></span>performICP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::gpu::kinfuLS::KinfuTracker::performICP </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a> &amp;&#160;</td>
          <td class="paramname"><em>cam_intrinsics</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>previous_global_rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector3f &amp;&#160;</td>
          <td class="paramname"><em>previous_global_translation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>current_global_rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector3f &amp;&#160;</td>
          <td class="paramname"><em>current_global_translation</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that performs GPU-based ICP, using vertex and normal maps stored in v/nmaps_curr_ and v/nmaps_g_prev_ The function requires the previous local camera pose (translation and inverted rotation) as well as camera intrinsics. It will return the newly computed pose found as global rotation and translation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cam_intrinsics</td><td>intrinsics of the camera </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">previous_global_rotation</td><td>previous local rotation of the camera </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">previous_global_translation</td><td>previous local translation of the camera </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">current_global_rotation</td><td>computed global rotation </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">current_global_translation</td><td>computed global translation </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>true if ICP has converged. </dd></dl>

</div>
</div>
<a id="afdca8a9bcd85ba840627f03e2e0325db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdca8a9bcd85ba840627f03e2e0325db">&#9670;&nbsp;</a></span>performPairWiseICP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::gpu::kinfuLS::KinfuTracker::performPairWiseICP </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a>&#160;</td>
          <td class="paramname"><em>cam_intrinsics</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix3frm &amp;&#160;</td>
          <td class="paramname"><em>resulting_rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector3f &amp;&#160;</td>
          <td class="paramname"><em>resulting_translation</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that performs GPU-based ICP, using the current and the previous depth-maps (i.e. not using the synthetic depth map generated from the tsdf-volume) The function requires camera intrinsics. It will return the transformation between the previous and the current depth map. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cam_intrinsics</td><td>intrinsics of the camera </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">resulting_rotation</td><td>computed global rotation </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">resulting_translation</td><td>computed global translation </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>true if ICP has converged. </dd></dl>

</div>
</div>
<a id="a964f89578a995e009104fdef7d14b847"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964f89578a995e009104fdef7d14b847">&#9670;&nbsp;</a></span>prepareMaps()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::prepareMaps </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1gpu_1_1_device_array2_d.html">DepthMap</a> &amp;&#160;</td>
          <td class="paramname"><em>depth_raw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structpcl_1_1device_1_1kinfu_l_s_1_1_intr.html">pcl::device::kinfuLS::Intr</a> &amp;&#160;</td>
          <td class="paramname"><em>cam_intrinsics</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function that pre-process a raw detph map the kinect fusion algorithm. The raw depth map is first blured, eventually truncated, and downsampled for each pyramid level. Then, vertex and normal maps are computed for each pyramid level. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">depth_raw</td><td>the raw depth map to process </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cam_intrinsics</td><td>intrinsics of the camera used to acquire the depth map </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a57c969f7f4ef5aaf6bfb861e6edd0d2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57c969f7f4ef5aaf6bfb861e6edd0d2c">&#9670;&nbsp;</a></span>setCameraMovementThreshold()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::setCameraMovementThreshold </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>threshold</em> = <code>0.001f</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets integration threshold. TSDF volume is integrated iff a camera movement metric exceedes the threshold value. The metric represents the following: M = (rodrigues(Rotation).norm() + alpha*translation.norm())/2, where alpha = 1.f (hardcoded constant) </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">threshold</td><td>a value to compare with the metric. Suitable values are ~0.001 <br  />
 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0cef44856b29bdf5eb8aadf090ef8111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cef44856b29bdf5eb8aadf090ef8111">&#9670;&nbsp;</a></span>setDepthIntrinsics()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::setDepthIntrinsics </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>fx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>fy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>cx</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>cy</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets Depth camera intrinsics </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fx</td><td>focal length x </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fy</td><td>focal length y </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cx</td><td>principal point x </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cy</td><td>principal point y </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae71ceabf375408cb4f8e5061e9e698e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae71ceabf375408cb4f8e5061e9e698e4">&#9670;&nbsp;</a></span>setDepthTruncationForICP()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::setDepthTruncationForICP </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>max_icp_distance</em> = <code>0.f</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets truncation threshold for depth image for ICP step only! This helps to filter measurements that are outside tsdf volume. Pass zero to disable the truncation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">max_icp_distance</td><td>Maximal distance, higher values are reset to zero (means no measurement). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae3fa3c6059aa2e24d46b17bd3b8dc3a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3fa3c6059aa2e24d46b17bd3b8dc3a9">&#9670;&nbsp;</a></span>setIcpCorespFilteringParams()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::setIcpCorespFilteringParams </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>distThreshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>sineOfAngle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets ICP filtering parameters. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">distThreshold</td><td>distance. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sineOfAngle</td><td>sine of angle between normals. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abcfea69b8ce0bae805b390933f682ab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcfea69b8ce0bae805b390933f682ab0">&#9670;&nbsp;</a></span>setInitialCameraPose()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::gpu::kinfuLS::KinfuTracker::setInitialCameraPose </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Affine3f &amp;&#160;</td>
          <td class="paramname"><em>pose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets initial camera pose relative to volume coordiante space </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pose</td><td>Initial camera pose </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>gpu/kinfu_large_scale/include/pcl/gpu/kinfu_large_scale/<a class="el" href="large__scale_2include_2pcl_2gpu_2kinfu__large__scale_2kinfu_8h_source.html">kinfu.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>gpu</b></li><li class="navelem"><b>kinfuLS</b></li><li class="navelem"><a class="el" href="classpcl_1_1gpu_1_1kinfu_l_s_1_1_kinfu_tracker.html">KinfuTracker</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
